package trastienda.service;

import java.util.Collection;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import trastienda.dao.ProductoDAO;
import trastienda.excepcion.DAOExcepcion;
import trastienda.modelo.Producto;

@Service
public class ProductoServiceImpl implements ProductoService{
	@Autowired
	private ProductoDAO productoDAO;
	
	public ProductoDAO getProductoDAO() {
		return productoDAO;
	}

	public void setProductoDAO(ProductoDAO productoDAO) {
		this.productoDAO = productoDAO;
	}
		
	@Override
	public Collection<Producto> listarTodos() throws DAOExcepcion {
		return productoDAO.listarTodos();
	}
	
	@Override
	public Collection<Producto> buscarPorNombre(String nombre)
			throws DAOExcepcion {
		return productoDAO.buscarPorNombre(nombre);
	}
	@Override
	public Producto insertar(Producto pro) throws DAOExcepcion{
		return productoDAO.insertar(pro);
	}
	@Override
	public Producto obtenerPorIdProducto(int idProducto) throws DAOExcepcion{
		return productoDAO.obtenerPorIdProducto(idProducto);
	}
	@Override
	public Producto actualizar(Producto pro) throws DAOExcepcion{
		return productoDAO.actualizar(pro);
	}
	@Override
	public void eliminar(int idProducto) throws DAOExcepcion{
		productoDAO.eliminar(idProducto);
		return;
	}
	@Override
	public Collection<Producto> buscarPorCategoria(String categoria) throws DAOExcepcion {
		return productoDAO.buscarPorCategoria(categoria);
	}
}
